package modelo;
import bean.Conexion;

import java.awt.Image;
import java.io.File;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;


public class UsuarioDAO  extends ConexionDao{

	public UsuarioDAO() {
		super();	
	
	}	
	

	/*String id_usuar, String clave_usuar, String tipo_usuar */

	public void registrarCliente(Usuario usuario) {
		String tiraSQL = "INSERT INTO usuario "+
		 				 "(id_usuar, clave_usuar, tipo_usuar) "+
		 				 "VALUES ('"+usuario.getId_usuar()+"', '"+usuario.getCalve_usuar()+
		 				 "','" +usuario.getTipo_usuar()+"')";
		Conexion.ejecutar(tiraSQL);
	}
	
	
	public ArrayList<Usuario> consultarUsuario() {
		ArrayList<Usuario> usuarios = new ArrayList<Usuario>();
		String tiraSQL = "SELECT * FROM usuario";
		ResultSet resultSet = Conexion.consultar(tiraSQL);		
		try {
			while (resultSet.next()) {
				
				String id = resultSet.getString("id_usuar");
				String clave = resultSet.getString("clave_usuar");
				String tipo = resultSet.getString("tipo_usuar");
				
				Usuario usuario = new Usuario(id, clave, tipo);
				usuarios.add(usuario);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return usuarios;
	}
	
	public Usuario consultarUsuarioPorID(String ids) {
		
		Usuario usuario = null;
		
		String tiraSQL = "SELECT * FROM usuario where id_clien ='"+ ids + "'";
		ResultSet resultSet = Conexion.consultar(tiraSQL);	
		
		try {
			while (resultSet.next()) {
				
				String id = resultSet.getString("id_usuar");
				String clave = resultSet.getString("clave_usuar");
				String tipo = resultSet.getString("tipo_usuar");
				
			  usuario = new Usuario(id, clave, tipo);
	
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return usuario;			
}

	
	// Modificar
	public void modificarUsuario(Usuario usuario) {
		
		String tiraSQL = "UPDATE cliente SET id_usuar = '" + usuario.getId_usuar() + "', clave_usuar = '"+ usuario.getCalve_usuar()+
				"', tipo_usuar = '" + usuario.getTipo_usuar()+ " WHERE id_clien ='" + usuario.getId_usuar() + "'";
				
		Conexion.ejecutar(tiraSQL);
	}
	
	
	// Eliminacion Fisica
		public void eliminarFisicaUsuario(String id) {
			String tiraSQL =  "DELETE FROM usuario WHERE id_usuar = '"+ id + "'";
									
			Conexion.ejecutar(tiraSQL);
		}

		

		// Eliminacion Logica
		public void eliminarLogicaUsuario(Usuario usuario) {
			//Estatus cuando se elimina es "inactivo"?
			
			String tiraSQL = "UPDATE cliente SET id_usuar = '" + usuario.getId_usuar() + "', clave_usuar = '"+ usuario.getCalve_usuar()+
					"', tipo_usuar = '" + usuario.getTipo_usuar()+ " WHERE id_clien ='" + usuario.getId_usuar() + "'";
					
			Conexion.ejecutar(tiraSQL);
		}

		
		
		
}
